// 引入请求优化
import { request } from "../../request/index.js"


Page({


  data: {
    //左侧的菜单数据
    leftMenuList: [],
    //右侧的商品数据
    rightContent: [],
    // 左侧菜单被点击的索引
    currentIndex: 0,
    //右侧内容的滚动条
    scrollTop:0

  },
  //接口的返回数据
  Cates: [],
  onLoad: function (options) {
    /*
    发送之前看看有没有旧数据 有旧的数据并且没过期就不发送
    { time:Date.now() , data:[...] }
    */

    //1获取本地存储中的数据
    const Cates = wx.getStorageSync("cates");
    //2判断
    if(!Cates){
      //不存在 发送请求获取数据
      this.getCates()
    }else{
      //有旧数据判断过期是否 1000一毫秒 * 10 就是十秒
      if(Date.now()-Cates.time>1000*1){
        // 重新发请求
        this.getCates()
      }else{
        this.Cates = Cates.data
        //构造左侧的大菜单数据
        let leftMenuList = this.Cates.map(v => v.cat_name);
        //构造右侧的商品数据
        let rightContent = this.Cates[0].children
        this.setData({
          leftMenuList,
          rightContent
        })
      }
    }
    
  },
  //获取分类数据
  getCates() {
    request({ url: '/categories' })
      .then(result => {
        this.Cates = result.data.message

        //接口数据存到本地存储中
        wx.setStorageSync("cates", {time:Date.now(),data:this.Cates});
          

        //构造左侧的大菜单数据
        let leftMenuList = this.Cates.map(v => v.cat_name);
        //构造右侧的商品数据
        let rightContent = this.Cates[0].children
        this.setData({
          leftMenuList,
          rightContent
        })
      })
  },
  //点击左侧菜单
  handleItemTap(e) {
    const { index } = e.currentTarget.dataset
    let rightContent = this.Cates[index].children
    this.setData({
      currentIndex: index,
      rightContent,
      //滚动条恢复
      scrollTop:0
    })
  }
});
